Iterate through nested arrays of objects with an undetermined number of children node levels